/**
 * @file    inf_pump.h
 * @author  yhy
 * @brief   抽吸一体气泵接口
 * @version 1.00
 * @date    2025-07-28
 *
 * @copyright Copyright (c) 2025
 *
 */
#ifndef __INF_PUMP_H__
#define __INF_PUMP_H__

#include "common_config.h"

#include <stdbool.h>
#include <stdint.h>

/**
 * @brief 气泵状态
 *
 */
typedef enum
{
    PUMP_STATE_IDLE          = 0U, /*!< 气泵空闲状态 */
    PUMP_STATE_AIR_INFLATION = 1U, /*!< 气泵充气 */
    PUMP_STATE_AIR_EXHAUST   = 2U, /*!< 气泵抽气 */
} pump_state_e;

/**
 * @brief 气泵结构体
 *
 */
typedef struct
{
    bool         initialized; /*!< 气泵是否初始化 */
    pump_state_e state;       /*!< 气泵状态 */
} pump_t;

result_e     inf_pump_init(void);
result_e     inf_pump_air_inflation(void);
result_e     inf_pump_air_exhaust(void);
result_e     inf_pump_air_stop(void);
pump_state_e inf_pump_get_state(void);

#endif
